package cn.com.headfree.sysmenu.service;

import cn.com.headfree.entity.IscUser;
import cn.com.headfree.sysmenu.entity.TSysRole;
import cn.com.headfree.sysmenu.entity.TSysUserRole;
import cn.com.headfree.sysmenu.vo.SysRoleVo;
import com.gta.edu.sdk.common.dto.Page;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface IRoleService {
    List<TSysRole> findRoleList(SysRoleVo sysRole, String orgId);
    void getPageRole(Page<TSysRole> page, SysRoleVo sysRole, String orgId);
    List<TSysRole> findRoleListByRoleName(String roleId, String roleName);
    void addRole(TSysRole sysRole);
    void updateRole(TSysRole sysRole);
    void deleteRole(String[] roleIds);
    int countUserRoleByRoleId(String roleId);
    void selectAllocatedPageUser(Page<IscUser> page, IscUser iscUser, String roleId);
    void selectUnAllocatedPageUser(Page<IscUser> page, IscUser iscUser, String roleId);
    void deleteAuthUsers(String roleId,String[] userIds);
    void saveUserRole(String roleId,String[] userIds);
    void deleteAuthUsersByUserId(String userId,String[] roleIds);
    void saveUserRoleByUserId(String userId,String[] roleIds);
    void insertRoleMenu(TSysRole sysRole);
    void updateRoleStatus(TSysRole sysRole);
    List<TSysUserRole> getUserRoleListByUserId(String userId);
    List<String> selectRoleIdListByUserId(String userId);
    List<TSysRole> getRoleList(String roleName, String roleCode, String status, String orgId);
    void addUserRoleByUserId(String userId,String[] roleIds);
}
